package com.hurl.library.schedule;

import java.util.Date;

/**
 * 任务触发器，用来定义任务的执行属性，比如第一次执行时间，执行次数，两次执行的时间间隔等。
 * @author hurl
 *
 */
public class JobTrigger {
	private Date firstTime = new Date();
	private Long period;
	/**
	 * 设置间隔时间的毫秒数。
	 * @param period
	 */
	public void setPeriod(long period){
		if(period<=0)
			throw new IllegalArgumentException("间隔时间必须大于0");
		this.period=period;
	}
	
	/**
	 * 获取定时任务的执行间隔
	 * @return 
	 * 当ScheduleType=PERIOD时，返回的值代表执行间隔。
	 * 当ScheduleType=COUNTDOWN时，返回的值代表执行时间距的当前时间的毫秒数。
	 */
	public Long getPeriod(){
		return this.period;
	}
	
	/**
	 * 设置任务的首次执行时间
	 * @param time
	 */
	public void setFirstTime(Date firstTime){
		this.firstTime=firstTime;
	}
	
	/**
	 * 获取任务的首次执行时间
	 * @return
	 */
	public Date getFirstTime(){
		return this.firstTime;
	}
}
